Timer + TimerTask 实现数字时钟 |
您所在的位置:网站首页 › android 获取时区 › Timer + TimerTask 实现数字时钟 |
任务: 自己完成的: 遇到的问题: 14:50它显示为06:50,时间显示错误,这是因为时区不同。 在8.0以后设置时区,有所改动,不能直接设置 比如GMT+8:00这样的时区了,要设置 时区的id。 id要设置为 比如 北京时间 为:Asia/Shanghai 这就是北京时间的时区id Android Studio 中 calendar设置时区无效的问题,改成下面这种形式便可解决: Calendar cal=Calendar.getInstance();//能获取当前的时间 //设置系统时区 TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai")); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); return sdf.format(cal.getTime());
ActionBar:
part1:显示HH:mm public static String getDate1(){ Calendar cal=Calendar.getInstance();//能获取当前的时间 //设置系统时区 TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai")); /*SimpleDateFormat: 一个与语言环境相关的格式化日期和分析日期的工具类。 *利用该类可以将日期转换成文本,或者将文本转换成日期*/ SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); return sdf.format(cal.getTime()); }part2AM/PM public static String getDate2(){ Calendar cal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("HH"); Integer dateValue = Integer.valueOf(String.valueOf(cal.getTime()).substring(11,13));//得到小时 return dateValue>=12?"PM":"AM"; }part3: 显示秒 public static String getDate3(){ Calendar cal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("ss"); return sdf.format(cal.getTime()); }part4:显示星期 public static String getDate4(){ String[] weeks = {"周日","周一","周二","周三","周四","周五","周六"}; Calendar cal = Calendar.getInstance(); /*获取当前的星期 星期返回0-6; 分别代表 星期日--星期六(故-1)*/ int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1; if(week_index=12?"PM":"AM"; } public static String getDate3(){ Calendar cal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("ss"); return sdf.format(cal.getTime()); } public static String getDate4(){ String[] weeks = {"周日","周一","周二","周三","周四","周五","周六"}; Calendar cal = Calendar.getInstance(); /*获取当前的星期 星期返回0-6; 分别代表 星期日--星期六(故-1)*/ int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1; if(week_index |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |